package com.ruoyi.stuclient.service;

import com.ruoyi.stuclient.domain.EwcCourseGrouping;
import com.ruoyi.stuclient.domain.dto.StudentLoginDto;
import com.ruoyi.stuclient.domain.vo.GroupSubmitAnalysisVo;
import com.ruoyi.stuclient.domain.vo.StudentGroupCountVo;
import com.ruoyi.stuclient.domain.vo.StudentGroupSubmitVo;
import com.ruoyi.stuclient.domain.vo.StudentGroupVo;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 学生分组信息Service接口
 * 
 * @author zsp
 * @date 2025-03-18
 */
public interface IEwcStudentGroupService  {

    StudentGroupVo getStudentGroupInfo(@Valid StudentLoginDto studentLoginDto);

    boolean updateBySIDAndGID(EwcCourseGrouping ewcCourseGrouping);

    StudentGroupSubmitVo getStudentGroupSubmitInfo(@NotBlank(message = "分组Id不能为空") String groupingId);

    GroupSubmitAnalysisVo getGroupSubmitAnalysisInfo(@NotBlank(message = "分组Id不能为空") String groupingId, @NotBlank(message = "学生Id不能为空") String studentId);

    List<StudentGroupCountVo> getStudentGroupList(@NotBlank(message = "章节Id不能为空") String chapterId,
                                                  @NotBlank(message = "课程Id不能为空") String courseId,
                                                  @NotBlank(message = "班级Id不能为空") String classId);
}
